package com.apop.demo.encrypt;

/**
 * 加密策略接口
 */
public interface EncryptionStrategy {
    /**
     * 加密
     *
     * @param data
     * @return
     */
    String encrypt(Object data);

    /**
     * 解密
     *
     * @param encryptedData
     * @return
     */
    String decrypt(Object encryptedData);

    /**
     * 验签
     *
     * @param sign      签名
     * @param publicKey 公钥
     * @return
     */
    Boolean verifySignWithPublicKey(String original, String sign, String publicKey);
}
